// Package tools 提供了ReAct智能体使用的工具接口和实现
// 该包定义了统一的工具接口，使得智能体可以调用各种外部工具来完成任务
package tools

// Tool 定义了所有工具必须实现的统一接口
// 这个接口确保了所有工具都有一致的调用方式，便于智能体动态调用
type Tool interface {
	// Name 返回工具的名称，用于标识和调用工具
	Name() string

	// Description 返回工具的功能描述，帮助AI理解工具的用途
	Description() string

	// Execute 执行工具的核心功能
	// 参数 args: 包含执行工具所需参数的映射表
	// 返回值: 执行结果字符串和可能的错误
	Execute(args map[string]interface{}) (string, error)
}
